package ${classPackageNameMap[table.className+'JsfService']};

import java.util.List;
import ${classTypeNameMap[table.className+'Vo']};

/**
* @author ${author!}
* @since ${timeNow!}
* ${table.remarks!}
*/
public interface ${table.className}JsfService {
    /**
     * 根据id查询
     * @param id id
     * @return APIResult<${table.className+'Vo'}>
     */
    APIResult<${table.className+'Vo'}> queryById(Long id);
    /**
     * 根据条件查询对象
     * @param query 查询条件Vo
     * @return APIResult<${table.className+'Vo'}>
     */
    APIResult<${table.className+'Vo'}> queryForObject(${table.className}Vo query);
    /**
     * 根据条件查询列表
     * @param query 查询条件Vo
     * @return APIResult<List<${table.className+'Vo'}>>
     */
    APIResult<List<${table.className+'Vo'}>> queryForList(${table.className}Vo query);
    /**
     * 根据条件查询分页
     * @param ${table.className}Vo
     * @param pageVo
     * @return APIResult<PageResultVo<${table.className+'Vo'}>>
     */
    APIResult<PageResultVo<${table.className+'Vo'}>> queryPageList(${table.className}Vo query);
    /**
     * 新增
     * @param entity
     * @return 影响记录数
     */
    APIResult<Long> insert(${table.className} entity);
    /**
     * 更新
     * @param entity
     * @return 影响记录数
     */
    APIResult<Integer> update(${table.className} entity);
    /**
     * 根据id删除
     * @param id
     * @return 影响记录数
     */
    APIResult<Integer> deleteById(Long id);
    /**
     * 新增或修改
     * @param entity
     * @return 影响记录数
     */
    APIResult<Integer> save(${table.className} entity);

}